1. Technical Field
This invention generally relates to computer programs and more specifically relates to a mechanism and method for a computer program to display information.
2. Background Art
The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely sophisticated devices that may be found in many different settings. Computer systems typically include a combination of hardware (e.g., semiconductors, circuit boards, etc.) and software (e.g., computer programs). As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful that just a few years ago.
Early computer systems required an extensive knowledge of commands for a user to perform any type of function. These computers employed what is known as a command line in which a specific command would have to be entered to perform most types of operations. This limited the use of computers to those who had the time to learn a large number of relatively cryptic commands.
Later computer systems used a more advanced user interface to make it easier for a computer user to perform functions without knowledge of specific commands. The most common type of modem interface is the graphical user interface, or GUI. A GUI uses some type of symbol, menu or other mechanism which is activated by a computer user with a pointing device (e.g., a mouse, a trackball) to perform many commonly performed tasks. These graphical mechanisms are usually designed to be somewhat consistent and self-explanatory to make it as easy as possible for a user to perform common functions.
Most graphical user interfaces display items in a portion of the screen called a window. In many computer programs, a list is often displayed in a window. When a list is larger than the display window, only part of the list is visible in the window at a time. To view other portions of the list, a graphical device known as a scroll bar is used. Scroll bars allow a user to move up or down a list using a pointing device, such as a mouse, and typically include an up arrow, a down arrow, and a slider. A scroll bar allows a user to move to other parts of a list by clicking on the up or down arrow, by clicking and dragging the slider in the scroll bar, or by clicking above or below the slider on the scroll bar.
A typical graphical user interface includes a mechanism for selecting items on the list. One common way for selecting items on the list is to click on an item with a mouse or other pointing device. Once an item is selected, it is typically displayed in reverse video or in a different color to indicate that it has been selected. However, users often need to select multiple items in a list for some operation. For example, if a user needs to copy several files from a list to a floppy disk, the user needs to select each of the items and perform a copy on all of the selected items at once. One problem with known graphical user interfaces is that there is no visual indication of any selected list items that are outside the range of the current display window. In other words, once an item is selected, and the display window is moved to a different part of the list, there is no indication whether the item that is no longer in the windows is still selected or not.
Typically, a graphical user interface requires a user select items to add to their list of selections in a different way than selecting a single item. For example, a single item may be selected by clicking on the item with a mouse. Clicking on a second item will deselect the first item, and select the second item. If the second item is to be selected in addition to the first item, a different selection mechanism is used. One known example requires the user to hold down the control key "Ctrl" while clicking on the second item in order for both the first and second items to be selected. If a user is navigating through a large list, selecting several items, one inadvertent click without holding the control key will result in all previously-selected items being deselected. Because there is no visual indication of whether items that are outside the display window are still selected or not, the user may not perform the desired operation on all the list items he or she intended to select. Without a mechanism for providing a visual indication to a user of selected items outside of the display window, users will be hampered by not knowing for sure which previously-selected items are still selected when an operation on the selected items is performed.